'use strict';
/**
 * 项目入口文件
 * @param  {[type]} ['config'] [description]
 * @param  {[type]} function   (             [description]
 * @return {[type]}            [description]
 */

var app = angular.module('App', [
    // 'ksSwiper',
    'ui.router',
    'ngSanitize',
    'infinite-scroll',
    'checklist-model',
    'ngCookies',
    'toaster',
    'infinite-scroll',
    'angucomplete'
    // 'ng.shims.placeholder',
    // 'ngStorage',
]);

app.config(['$locationProvider', '$urlRouterProvider', '$stateProvider', '$httpProvider',
    function ($locationProvider, $urlRouterProvider, $stateProvider, $httpProvider) {

        // 登录
        // $stateProvider.state('login', {
        //     url: '/login',
        //     templateUrl: "../views/login.html",
        //     extData: {
        //         pageTitle: '登录'
        //     }
        // });

        var _t = Math.random();

        // 虚拟主页
        $stateProvider.state('g', {
            url: '',
            templateUrl: "../views/g.html",
            extData: {
                pageTitle: ''
            }
        });

        // 默认首页
        $stateProvider.state('g.index', {
            url: '/index',
            templateUrl: "../views/index-home.html",
            extData: {
                pageTitle: '默认首页'
            }
        });

        // 中小服务
        $stateProvider.state('g.zx', {
            url: '/zx/:type',
            templateUrl: "../views/zx.html",
            extData: {
                pageTitle: '中小服务'
            }
        });

        // 详细信息
        $stateProvider.state('g.detail', {
            url: '/d/:type/:id',
            templateUrl: "../views/detail.html",
            extData: {
                pageTitle: '详情'
            }
        });

        // 搜索首页
        $stateProvider.state('g.search', {
            url: '/search',
            templateUrl: "../views/search.html",
            extData: {
                pageTitle: '搜索首页'
            }
        });

        // 我的个人中心
        $stateProvider.state('g.account', {
            url: '/account',
            templateUrl: "../views/account.html",
            extData: {
                pageTitle: '个人中心'
            }
        });

        // 预警首页
        $stateProvider.state('g.warning', {
            url: '/warning/:type',
            templateUrl: "../views/warning-index.html",
            extData: {
                pageTitle: '外贸预警'
            }
        });

        // 预警详情
        $stateProvider.state('g.warningDetail', {
            url: '/warning/d/:id',
            templateUrl: "../views/warning-detail.html",
            extData: {
                pageTitle: '预警详情'
            }
        });

        // 会展首页
        $stateProvider.state('g.expo', {
            url: '/expo/:type',
            templateUrl: "../views/expo-home.html",
            extData: {
                pageTitle: '会展首页'
            }
        });

        // 会展详情
        $stateProvider.state('g.expoDetail', {
            url: '/expo/d/:id',
            templateUrl: "../views/expo-detail.html",
            extData: {
                pageTitle: '预警详情'
            }
        });

        // 我的展会
        $stateProvider.state('g.myExpo', {
            url: '/myexpo',
            templateUrl: "../views/my-expo.html",
            extData: {
                pageTitle: '我的展会'
            }
        });

        // 展会搜索
        $stateProvider.state('g.searchExpo', {
            url: '/searchExpo',
            templateUrl: "../views/expo-search.html",
            extData: {
                pageTitle: '展会搜索'
            }
        });

        // 加入企业
        $stateProvider.state('g.join', {
            url: '/join',
            templateUrl: "../views/join.html",
            extData: {
                pageTitle: '加入企业'
            }
        });

        // 邀请好友
        $stateProvider.state('g.ref', {
            url: '/ref',
            templateUrl: "../views/ref.html",
            extData: {
                pageTitle: '邀请好友'
            }
        });

        // 正在建设中
        $stateProvider.state('g.ing', {
            url: '/ing',
            templateUrl: "../views/ing.html",
            extData: {
                pageTitle: '正在建设中'
            }
        });

        // 品牌培育
        $stateProvider.state('g.pp', {
            url: '/pp',
            templateUrl: "../views/ing.html",
            extData: {
                pageTitle: '正在建设中'
            }
        });

        // 试点示范
        $stateProvider.state('g.sd', {
            url: '/sd',
            templateUrl: "../views/ing.html",
            extData: {
                pageTitle: '正在建设中'
            }
        });

        // 采购服务
        $stateProvider.state('g.cg', {
            url: '/cg',
            templateUrl: "../views/ing.html",
            extData: {
                pageTitle: '正在建设中'
            }
        });

        // 境外营销
        $stateProvider.state('g.jw', {
            url: '/jw',
            templateUrl: "../views/ing.html",
            extData: {
                pageTitle: '正在建设中'
            }
        });

        // 物流服务
        $stateProvider.state('g.wl', {
            url: '/wl',
            templateUrl: "../views/ing.html",
            extData: {
                pageTitle: '正在建设中'
            }
        });

        // 数据服务
        $stateProvider.state('g.sj', {
            url: '/sj',
            templateUrl: "../views/ing.html",
            extData: {
                pageTitle: '正在建设中'
            }
        });

        // 企业信息
        $stateProvider.state('g.gCompanyInfoCtrl', {
            url: '/companyinfo',
            templateUrl: "../views/company-info.html",
            extData: {
                pageTitle: '企业信息'
            }
        });



        // 默认跳转页
        $urlRouterProvider.otherwise('/index');

        // 验证接口是否未登录
        // $httpProvider.interceptors.push('httpInterceptor');

    }
]);


app.run(['$rootScope', '$state', '$stateParams', '$templateCache',
    function ($rootScope, $state, $stateParams, $templateCache) {
        $rootScope.$state = $state;
        $rootScope.$stateParams = $stateParams;

        // 开发时去除模板缓存
        $rootScope.$on('$viewContentLoaded', function() {
            $templateCache.removeAll();
        });
        //

        // 默认页
        // $rootScope.$on('$stateChangeStart', function (evt, to, params) {
        //     if (to.redirectTo) {
        //         evt.preventDefault();
        //         $state.go(to.redirectTo, params)
        //     }
        // });

        // // 改变标题
        // $rootScope.$on('$stateChangeSuccess', function (event, current, previous) {
        //     $rootScope.title = current.extData.pageTitle;
        //     $rootScope.backsref = current.extData.backsref;
        //     $rootScope.backsreftitle = current.extData.backsreftitle;
        // });

        // // 捕获xhr
        // $rootScope.$on('xhrError', function (event, current, previous) {
        //     toaster.clear();
        //     toaster.pop({
        //         type: 'error',
        //         title: '发生错误',
        //         body: current,
        //         showCloseButton: true,
        //         // closeHtml: '<button>Close</button>'
        //     });

        // });


    }


]);
